

import Vue from 'vue'
//导入axios组件
import axios from 'axios'
import VueAxios from 'vue-axios'
//导入部分的组件
import { Message } from 'element-ui'
import router from '../src/router/index.js'
//配置全局的axios
Vue.use(VueAxios, axios)

const http = axios.create({
    baseURL: 'http://192.168.183.207:80/api/',
    timeout: 1000 * 3,
    headers: { 'Content-Type': 'application/json;charset=utf-8' }
});


// 添加请求拦截器 config是请求的所有信息
http.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    //每次请求之前在头部携带token
    let token = localStorage.getItem("token");
    if (token != null) {
        config.headers.token = token;
    }

    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 对响应数据做点什么  可以在这里对响应进行统一的处理
    if (response.data.code != 1) {
        Message({
            message: response.data.msg,
            type: "error",
        });
        if (response.data.code == 1003 || response.data.code == 1004 || response.data.code == 1005 || response.data.code == 1006) {
            router.push("/login");
            return false;
        }
    }
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default http;